home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2001 Haziran / CHIP Haziran2001.iso / prog / share / 17 / dings_e.exe / Compiler / Include / DX7 / dls2.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-04-24  |  4.6 KB  |  123 lines

  1. /*
  2.  
  3. dls2.h
  4.  
  5. Description:
  6.  
  7. Interface defines and structures for the DLS2 extensions of DLS.
  8.  
  9.  
  10.   Written by Microsoft 1998.  Released for public use.
  11.  
  12. */
  13.  
  14. #ifndef _INC_DLS2
  15. #define _INC_DLS2
  16.  
  17. /*
  18.   FOURCC's used in the DLS2 file, in addition to DLS1 chunks
  19. */
  20.  
  21. #define FOURCC_RGN2  mmioFOURCC('r','g','n','2')
  22. #define FOURCC_LAR2  mmioFOURCC('l','a','r','2')
  23. #define FOURCC_ART2  mmioFOURCC('a','r','t','2')
  24. #define FOURCC_CDL   mmioFOURCC('c','d','l',' ')
  25. #define FOURCC_DLID  mmioFOURCC('d','l','i','d')
  26.  
  27. /*
  28.   Articulation connection graph definitions. These are in addition to
  29.   the definitions in the DLS1 header.
  30. */
  31.  
  32. /* Generic Sources (in addition to DLS1 sources. */
  33. #define CONN_SRC_POLYPRESSURE        0x0007    /* Polyphonic Pressure */
  34. #define CONN_SRC_CHANNELPRESSURE    0x0008    /* Channel Pressure */
  35. #define CONN_SRC_VIBRATO            0x0009    /* Vibrato LFO */
  36. #define CONN_SRC_MONOPRESSURE      0x000a /* MIDI Mono pressure */
  37.  
  38.  
  39. /* Midi Controllers */
  40. #define CONN_SRC_CC91                0x00db    /* Reverb Send */
  41. #define CONN_SRC_CC93                0x00dd    /* Chorus Send */
  42.  
  43.  
  44. /* Generic Destinations */
  45. #define CONN_DST_GAIN                0x0001    /* Same as CONN_DST_ ATTENUATION */
  46. #define CONN_DST_KEYNUMBER         0x0005    /* Key Number Generator */
  47.  
  48. /* Audio Channel Output Destinations */
  49. #define CONN_DST_LEFT                0x0010    /* Left Channel Send */
  50. #define CONN_DST_RIGHT                0x0011    /* Right Channel Send */
  51. #define CONN_DST_CENTER            0x0012    /* Center Channel Send */
  52. #define CONN_DST_LEFTREAR            0x0013    /* Left Rear Channel Send */
  53. #define CONN_DST_RIGHTREAR            0x0014    /* Right Rear Channel Send */
  54. #define CONN_DST_LFE_CHANNEL        0x0015    /* LFE Channel Send */
  55. #define CONN_DST_CHORUS            0x0080    /* Chorus Send */
  56. #define CONN_DST_REVERB            0x0081    /* Reverb Send */
  57.  
  58. /* Vibrato LFO Destinations */
  59. #define CONN_DST_VIB_FREQUENCY        0x0114    /* Vibrato Frequency */
  60. #define CONN_DST_VIB_STARTDELAY    0x0115    /* Vibrato Start Delay */
  61.  
  62. /* EG1 Destinations */
  63. #define CONN_DST_EG1_DELAYTIME        0x020B    /* EG1 Delay Time */
  64. #define CONN_DST_EG1_HOLDTIME        0x020C    /* EG1 Hold Time */
  65.  
  66.  
  67. /*    EG2 Destinations */
  68. #define CONN_DST_EG2_DELAYTIME        0x030F    /* EG2 Delay Time */
  69. #define CONN_DST_EG2_HOLDTIME        0x0310    /* EG2 Hold Time */
  70.  
  71.  
  72. /* Filter Destinations */
  73. #define CONN_DST_FILTER_CUTOFF        0x0500    /* Filter Cutoff Frequency */
  74. #define CONN_DST_FILTER_Q            0x0501    /* Filter Resonance */
  75.  
  76.  
  77. /* Transforms */
  78. #define CONN_TRN_CONVEX            0x0002    /* Convex Transform */
  79. #define CONN_TRN_SWITCH            0x0003    /* Switch Transform */
  80.  
  81.  
  82. /*    Conditional chunk operators */
  83. #define DLS_CDL_AND                0x0001    /* X = X & Y */
  84. #define DLS_CDL_OR                    0x0002    /* X = X | Y */
  85. #define DLS_CDL_XOR                0x0003    /* X = X ^ Y */
  86. #define DLS_CDL_ADD                   0x0004    /* X = X + Y */
  87. #define DLS_CDL_SUBTRACT           0x0005    /* X = X - Y */
  88. #define DLS_CDL_MULTIPLY            0x0006    /* X = X * Y */
  89. #define DLS_CDL_DIVIDE                0x0007    /* X = X / Y */
  90. #define DLS_CDL_LOGICAL_AND        0x0008    /* X = X && Y */
  91. #define DLS_CDL_LOGICAL_OR            0x0009    /* X = X || Y */
  92. #define DLS_CDL_LT                    0x000A    /* X = (X < Y) */
  93. #define DLS_CDL_LE                    0x000B    /* X = (X <= Y) */
  94. #define DLS_CDL_GT                    0x000C    /* X = (X > Y) */
  95. #define DLS_CDL_GE                    0x000D    /* X = (X >= Y) */
  96. #define DLS_CDL_EQ                    0x000E    /* X = (X == Y) */
  97. #define DLS_CDL_NOT                   0x000F    /* X = !X */
  98. #define DLS_CDL_CONST                0x0010    /* 32-bit constant */
  99. #define DLS_CDL_QUERY                0x0011    /* 32-bit value returned from query */
  100. #define DLS_CDL_QUERYSUPPORTED        0x0012    /* Test to see if DLSID Query is supported */
  101.  
  102. /*
  103. Loop and release
  104. */
  105.  
  106. #define WLOOP_TYPE_RELEASE 2
  107.  
  108. /*
  109. DLSID queries for <cdl-ck>
  110. */
  111.  
  112. DEFINE_GUID(DLSID_GMInHardware, 0x178f2f24, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
  113. DEFINE_GUID(DLSID_GSInHardware, 0x178f2f25, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
  114. DEFINE_GUID(DLSID_XGInHardware, 0x178f2f26, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
  115. DEFINE_GUID(DLSID_SupportsDLS1, 0x178f2f27, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
  116. DEFINE_GUID(DLSID_SupportsDLS2, 0xf14599e5, 0x4689, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
  117. DEFINE_GUID(DLSID_SampleMemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
  118. DEFINE_GUID(DLSID_ManufacturersID, 0xb03e1181, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
  119. DEFINE_GUID(DLSID_ProductID, 0xb03e1182, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
  120. DEFINE_GUID(DLSID_SamplePlaybackRate, 0x2a91f713, 0xa4bf, 0x11d2, 0xbb, 0xdf, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
  121.  
  122. #endif    /* _INC_DLS2 */
  123.